草庐IT

Java 反射与代码生成

全部标签

javascript - 生成具有对数分布和自定义斜率的随机数

我正在尝试生成具有对数分布的随机整数。我使用以下公式:idx=Math.floor(Math.log((Math.random()*Math.pow(2.0,max))+1.0)/Math.log(2.0));这很好用,并在1000次迭代中生成这样的序列(每个数字代表生成该索引的次数):[525,261,119,45,29,13,5,1,1,1]Fiddle我现在正在尝试调整此分布的斜率,使其不会下降得那么快并产生如下内容:[150,120,100,80,60,...]盲目地玩弄系数并没有给我想要的东西。有什么想法可以实现吗? 最佳答案

javascript - Grunt 代码覆盖不起作用

我有以下运行mocha测试的grunt文件(我在运行grunt.js后得到测试结果)现在我想添加代码并使用https://github.com/taichi/grunt-istanbul模块。但是当我运行grunt.js时没有任何反应,知道吗?我想要的只是在mocha测试运行之后它会运行代码覆盖率和一些报告?任何新的代码覆盖率都会很好这是我的项目结构myApp-server.js-app.js-test-test1.spec-test2.spec-test-reports-grunt.js-utils-file1.js-file2.js-controller-file1.js-file

javascript - 在Screeps中,是否以允许写入CPU极限健壮代码的方式实现CPU极限?

在Screeps中,每个玩家对CPU的使用都受到限制,但是documentationforthisfeature并没有使执行此方法的方式足够清晰,无法编写CPU限制健壮的代码。我考虑了以下四种可能性:1.玩家的循环永远不会中断。在一种极端情况下,玩家的内存反序列化,主脚本执行和内存重新序列化永远不会中断,并且超过CPU限制仅意味着玩家的周期将在随后的滴答声中跳过,直到偿还CPU债务为止。在这种情况下,CPU限制健壮的代码并不是绝对必要的,但它对于检测何时跳过播放器的周期并可能更有效地开始工作仍然很有用。可以使用以下代码轻松实现:module.exports.loop=function(

javascript - 这行 Javascript 代码可能做什么?

我刚刚在我目前正在从事的项目中偶然发现了一行代码。我觉得我在Javascript方面还不错,但老实说,我不知道下面这行代码实际上做了什么:vardate=new(Function.prototype.bind.apply(Date,[null,].concat(buildDateParams(spec,base))));你们中的Javascript专家能否阐明这一点?buildDateParams似乎构建了一个值数组。为了完整起见,这里是函数:functionbuildDateParams(spec,base){if(!spec.match(specRegExp)){thrownewE

javascript - IE 中的 InnerHTML/outerHTML 不反射(reflect)复选框状态,但在怪癖模式下除外

我目前正在与一个IEJavaScript/DOM错误作斗争(这很有趣),它确实难倒了我。有问题的代码将一些复选框复制到一个表单中,并且需要维护它们的选中状态。问题是,IE(特别是IE8,虽然我猜其他人也是如此)不想这样做。我已将错误本身缩小到一个非常小的测试用例。基本上,页面上没有DOCTYPE时一切正常,但当存在DOCTYPE时它们会被破坏。我的预料恰恰相反,但谁知道IE。以下是最简单的测试用例。对于它们中的每一个:在IE中打开页面,切换复选框,然后单击“测试”。不产生错误:TESTdocument.getElementById('break').onclick=function()

javascript - 对动态生成的元素进行 knockout 绑定(bind)

我正在使用Knockout.js并且我在这方面还很陌生。我创建了一个Exampletomyproblem.在这里,我试图将knockout绑定(bind)绑定(bind)到动态生成的元素。但是绑定(bind)不适用于动态生成的元素。我正在尝试将输入文本字段与标签元素同步。因此,无论我们在输入字段中输入什么,相同的文本都会反射(reflect)在其相应的标签元素中。如果我不清楚我的问题,请原谅我,请问我许可。帮帮我吗?谢谢。 最佳答案 在您的代码中,您没有使用knockout的主要功能之一-自动生成html。不是使用jQuery添加新

javascript - 从 JavaScript 中的 switch cases 中删除死代码

是否有任何压缩器负责移除不会在应用程序的任何地方调用的开关盒?functionexecute_case(id){switch(id){case0:console.log("0");break;case1:console.log("1");break;case2:console.log("2");break;case3:console.log("3");break;default:console.log("default");break;}}execute_case(1);如果以上就是我所有的,那么理论上情况0、2、3是死代码,永远不会被执行。有没有压缩器在缩小代码时具有删除此代码的智能

javascript - Google Canary 浏览器是否支持 ES6 的生成器?

我需要测试/工作属于ES6草案的生成器。要继续工作,我需要一个浏览器(在我的例子中)。由于GoogleCanary严格针对开发人员,所以它现在是否支持生成器?我的操作系统是Windows7。 最佳答案 是的,在旗帜后面。另见featuredashboardentry和V8bug.导航到chrome://flags/#enable-javascript-harmony以启用它。 关于javascript-GoogleCanary浏览器是否支持ES6的生成器?,我们在StackOverflo

javascript - history.back() 之后的代码会发生什么?

我有如下代码:window.history.back();myFunction(10);history.back()是阻塞/非阻塞调用吗?是否可以保证myFunction()会被执行?还是不执行?这是history.back()异步发生并且myFunction()是否被调用取决于不可控事件的时机? 最佳答案 spec说history.backqueuesatask.因此,实际的历史操作代码(在JS实现内部)将在主程序的下一次运行期间执行eventloop.您对myFunction的调用在当前执行轮中同步执行,因此它将始终在兼容环境中

javascript - Google Analytics 跟踪代码给出 CORS 错误

我正在使用(在我看来是这样的)新的GoogleAnalytics(分析)跟踪代码,这是我昨天从我的帐户中获得的。它使用了一些“全局站点标签”。我已按照GA的指示将它放在我的顶部,但在加载我的页面时出现跨源错误,因此GA无法正确跟踪我的网站。这是确切的信息:AccesstoScriptat'https://www.googletagmanager.com/gtag/js?id={my-id}'fromorigin'{mywebsite}'hasbeenblockedbyCORSpolicy:The'Access-Control-Allow-Origin'headerhasavalue'h